]> dgit.raspbian.org Git - gnome-shell.git/commit
ControlsManager: Propagate unmap before hiding the WorkspacesDisplay
authorRobert Mader <robert.mader@posteo.de>
Sat, 8 Jan 2022 13:44:23 +0000 (14:44 +0100)
committerRobert Mader <robert.mader@posteo.de>
Sun, 9 Jan 2022 15:50:48 +0000 (16:50 +0100)
commitee41dfdb8c02bd808b458e093d426e772810f29c
treec22d088e445257e4366596f6e5ad66dee04bc950
parentf3eb01642fce2510a8086c5e4ddaaa78c47f834c
ControlsManager: Propagate unmap before hiding the WorkspacesDisplay

Hiding the `WorkspacesDisplay` triggers a reallocation of the
`ControlsManagerLayout` which can fail with the following error:
```
JS ERROR: TypeError: workspace is undefined
_getSpacing@resource:///org/gnome/shell/ui/workspacesView.js:229:13
vfunc_allocate@resource:///org/gnome/shell/ui/workspacesView.js:355:18
vfunc_allocate@resource:///org/gnome/shell/ui/overviewControls.js:200:33
vfunc_hide@resource:///org/gnome/shell/ui/workspacesView.js:1070:38
vfunc_unmap@resource:///org/gnome/shell/ui/overviewControls.js:672:33
hideOverview@resource:///org/gnome/shell/ui/layout.js:312:28
_hideDone@resource:///org/gnome/shell/ui/overview.js:617:32
onComplete@resource:///org/gnome/shell/ui/overview.js:390:37
_makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:134:13
_easeActorProperty/<@resource:///org/gnome/shell/ui/environment.js:298:60
```

This can be reproduced by closing the overview with the three-finger
gesture.

Thus propagate the unmap before hiding the `WorkspacesDisplay`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2088>
js/ui/overviewControls.js